import logging
import logging.handlers

# 1.创建日志器
import time

logger = logging.getLogger()

# 2.设置日志器的级别
logger.setLevel(logging.DEBUG)

# 3.创建处理器
# 输出到控制台

sf = logging.StreamHandler()

# 输出到文件 1 M 生成一个文件，固定保存3个
hf = logging.handlers.TimedRotatingFileHandler("log/Test.log", when='M', interval=1, backupCount=3)

# 4.设置级别
sf.setLevel(logging.INFO)
hf.setLevel(logging.INFO)

# 5.创建格式器
fmt = '%(asctime)s %(levelname)s [%(name)s] [%(filename)s(%(funcName)s:%(lineno)d)] - %(message)s'
format = logging.Formatter(fmt=fmt)

# 6.添加格式器到处理器
sf.setFormatter(format)
hf.setFormatter(format)

# 7.将处理器添加到日志器
logger.addHandler(sf)
logger.addHandler(hf)

# 8.输出日志信息
while True:
    time.sleep(3)
    logger.info("这是一条信息级别日志")
    logger.warning("这是一条警告级别的日志")
